package org.theqcp.wow.model.api;

/**
 * Implement to observe the progress of an API operation
 * 
 * @author angryundead
 *
 */
public interface ProgressListener {

	/**
	 * Recieve a progress update percent.
	 * 
	 * @param d
	 */
	public void updateProgress(double d);

	/**
	 * Recieve a progress update percent and message.
	 * 
	 * @param d
	 */
	public void updateProgress(double d, String message);
	
	/**
	 * Send a message that the operation under progress
	 * has failed.
	 * 
	 */
	public void fail();
	
	/**
	 * Send a message that the progress is fully complete
	 * 
	 */
	public void complete();

}
